Edge breaker on a Corner T able: A simple technique for representing and compressing triangulated surfaces
نویسندگان
چکیده
A triangulated surface S with V vertices is sometimes stored as a list of T independen floating-point coordinates of its vertices. This representation requires about 576 information regarding the adjacency between neighboring triangles or vertices. A va structures may be derived from such a representation in order to make explicit the relations between triangles, edges, and vertices. These relations are stored to accele in a systematic manner and access the neighbors of each vertex or triangle. Instead of advocate a simple Corner Table, which explicitly represents the triangle/vertex inc adjacency of any manifold or pseudo-manifold triangle mesh, as two tables of integers. 12Vlog2 V bits and must be accompanied by a vertex table, which requires 96V bits, if Flo may be derived from the list of independent triangles. For meshes homeomorphic to a sph that 4V bits by storing the clers sequence of triangle-labels from the set {C ,L,E,R,S}. Further compression to may be guaranteed by using context-based codes for the clers symbols. Entropy codes red to less than 2V bits. Meshes with more complex topologies may require O(log 2V) additional bits per handle or present here a publicly available, simple, state-machine implementation of the Edgebrea the corner table, computes the CLERS symbols, and constructs an ordered list of vertex in the order in which they appear on the list, as corrective displacements between th Quantizing vertex coordinates to 12 bits and predicting each vertex as a linear combi neighbors leads to short displacements, for which entropy codes drop the total vertex l typical meshes below 16V bits. Introdction 3D graphics plays an increasingly important role in applications where 3D models are a to improved design and model acquisition tools, to the wider acceptance of this techn accuracy, the number and complexity of these models are growing more rapidly than p Consequently, it is imperative to continue increasing the terseness of 3D data transm and reliability of the associated compression and decompression algorithms. Although many representations have been proposed for 3D models, polygon and triangle m for exchanging and viewing 3D models. A triangle mesh may be represented by its verte Vertex data comprises coordinates of all the vertices and optionally the vertex colors and normal vectors and textures. In its simplest form, connectivity captures the incidence mesh and their bounding vertices. It may be represented by a triangle-vertex incidence triangle the references to its three bounding vertices. In practice, the number of triangles is roughly twice the number of vertices. Consequen are used as vertex-references and when floating point coordinates are used to encode connectivity data consumes twice more storage than vertex coordinates. Vertex coordinates may be compressed through various forms of vector quantization. Most exploit the coherence in vertex locations by using local or global predictors to encode data. Both the encoder and the decoder use the same prediction formula. The encoder tr predicted and the correct vertex data. It uses variable length codes for the correct shorter the codes. The decoder receives the correction, decodes it and adds it to information for the next vertex. Thus the prediction can only exploit data that has be Most predictive schemes require only local connectivity between the next vertex and i Some global predictors require having the connectivity of the entire mesh. Thus it is compression techniques that are independent of vertex data. The Edgebreaker compression scheme, discussed here, has been extended to manifold me [Ross99 ], to triangulated boundaries of non-manifold solids [ RoCa99], and to meshes that contain only quad combination of simply-connected polygonal faces with an arbitrary number of sides [ King99b ]. It was also optimize meshes with nearly regular connectivity [ SKR00, SKR00b]. Nevertheless, for sake of simplicity, in this our focus to meshes that are each homeomorphic to a sphere. As several other compression schemes [TaRo98, ToGo98, Gust98] , Edgebreaker visits the triangles in a s first) triangle-spanning-tree order and generates a string of descriptors, one per tri be rebuilt by attaching new triangles to previously reconstructed ones. The popularity descriptors are symbols from the set {C,L,E,R,S}. No other parameter is needed. Becaus trivial code (C=0, L=110, E=111, R=101, S=100) guarantees that storage will not excee more complex code guarantees 1.73 bits per triangle [King99]. This upper bound on storage does no entropy or arithmetic coding schemes, which in general perform poorly on small or irr simple encoding of Edgebreaker is particularly attractive for large catalogs of small m complex meshes. For large meshes, entropy codes may be used to further reduce the stor [RoSz99]. The string of descriptors produced by Edgebreaker is called the clers str ng. An efficient decomp algorithm for the clers sequ nce [ RoSz99] interprets the symbols to build a simply connected triang represents the triangle-spanning tree. Then, it zips up the borders of that polygon by in a bottom-up order with respect to the vertex-spanning-tree that is the dual of the here a compact implementation of this decompression. A previously proposed alternative S irale Reversi [IsSo ], interprets the reversed clers tring and builds the triangle tree from the leaves. The contributions of this chapter are a simple data structure, called the Corner-Table triangle meshes and a very compact (single page) description of the complete Edgebreake algorithms, which trivializes their implementation. The data structure, examples, and s are publicly available [ EB01]. Because the corner table is nothing more than two arrays of decompression is simple and fast, the scheme may be suitable for hardware implementati and introduce the Corner-Table, then we present the simplified Compression and Decompres Notation and Corner-Table Vertices are identified using positive integers. Their locations are stored in an arra G is a 3D point that encodes the location of a vertex. (Other vertex attributes are ign have overloaded the + and — operators to perform additions and subtraction of poi G[1]—G[0] returns the vector from the first vertex to the second. Edgebreaker compression stores vectors in the string called delta , using WRITE(delta , D) statements, where D is a point or vector. The will be encoded using a variable length binary format in a separate post-processing decompression, the first call READ(delta ) returns a decoded version of the first vertex. Subsequen READ(delta ) return corrective vectors, which are added to the vertex estimates to produce correct ve Compression stores, in a string called clers , a sequence of symbols from the set {C ,L,E,R,S}, encoded using a binary format: {0, 110, 111, 101, 100}. Better codes may be substituted easily, if desir During decompression, the symbols (i.e., their binary format) are read and used to sw assume that the READ instruction knows to read two more bits when the first one is a 1. The Corner Table data structure used by Edgebreaker is composed of two global arrays temporary tables (M, U), which are only used during compression. V, O, and U have 3 ti triangles. M has as many entries as vertices. V and O hold the integer references to ve U hold binary flags indicating whether the corresponding vertex or triangle has already Although Edgebreaker manipulates integer indices, we use (our own ) obj ct-oriented otation to increase th the algorithms that follow. We use lower-case letters that follow a period to refer corresponding uppercase name. For example, if c is an integer, c.v stands for V[c] and we assign values to specific entries in these tables, we still write V[c]=b, rather tha c.v=b, to remind the reader th updating an entry in the V table. We use left-to-right expansion of this object-orie c.o.v stands fo V[O[c]]. We also introduce the next corner around triangle functions: N(c), which will be wri c.n and which returns c—2 MOD 3 is 2, and c+1 otherwise. This functions permits to move from one corner of a tri agreed-upon orientation of the triangle, which we assume to be consistent throughout around triangle function, written as c.p stands for N(N(c)). For example, the statement V[a.p]= b.n.v translates V[N(N(a))]=V[N(b)]. A corner c is the association of a triangle c.t with one of its bounding vertices c.v (see Fig.1).. The entries in V and O are consecutive for the 3 corners (c.p, c, c.n) of each triangle. Thus, c.t returns the integer division of c by 3 and the cornertriangle relation needs not be stored explicitly. For example, when c is 4, c.t is 1 and thus c is a corner of the second triangle. We use c.t only to mark previously visited triangles in the U table. The notation c.v returns the id of the vertex associated with corner c. We use this id to mark previously visited vertices in the M table or to access the geometry of the vertex (c.v.g). The notation c.o returns the id of the corner opposite to c. To be precise, c.o is the only integer b for which: c.n.v == b.p.v and c.p.v == b.n.v. For convenience, we also define c.l as c.p.o and c.r as c.n.o. These relations are illustrated in the figure below. We assume a counter-clockwise orientation. Fig 1 : Using the V and O tables, given a corner, c, we can access: its triangle, c.t; it ver ex, c.v; the previous and next corners, c.p and c.n, in c.t; the opposite corner, c.o; and the corners of the left an c.l and c.r. Compression Edgebreaker is a state machine. At each state it moves from a triangle Y to an adjacent triangle X. It marks all visited triangles and their bounding vertices. Let Left and Right denote the other two triangles that are incident upon X. Let v be the vertex common to X, Left, and Right. If v has not yet been visited, then neither have Left and Right. This is case C. If v has been visited, we distinguish four other cases, which corresponds to four situations where one, both, or neither of the Left and Right triangles have been visited. These situations and the associated clers symbols are shown in Fig. 2. The arrow indicates the direction to the next triangle. Previously visited triangles are not shown. Note that in the S case, Edgebreaker moves to the right, using a recursive call, and then to the left. Fig 2 : Using the V and O tables, given a corner, c, we can access: its triangle, c.t; it ver ex, c.v; the previous and next corners, c.p and c.n, in c.t; the opposite corner, c.o; and the corners of the left an c.l and c.r. The compression algorithm is composed of an initialization followed by a call to Compress. The initial corner c may be chosen randomly. The initialization encodes and marks the three vertices of the first triangle, marks the triangle as visited, and calls compress. Compress is a recursive procedure that traverses the mesh along a spiraling triangletriangles that are of type S. It compresses the branch adjacent to the right edge of s E triangle is reached, the branch traversal is complete and we RETURN from the recurs encounter of an E that does not match an S terminates the compression process. If the yet been visited ( IF c.v.m != 1 ), we are on a C triangle and we encode in delta the corrective vector for the current triangle using a parallelogram rule [ ToGo98]. We also encode a C symbol (for example code(C) ma the clers string. When the tip of the new triangle has been visited, we distinguish among the status of the neighboring (left and right) triangles. The compression pseudo-code is c c.t c.v c.l c.r
منابع مشابه
Interactive tools for quality enhancement in 3D modelling from reality
This paper presents a set of algorithms to improve the quality of triangulated 3D models representing real environments. The objective of the work is to improve the details of the 3D models (acquired using laser range sensors), which the automated 3D reconstruction procedures are not able to describe. The approach followed in this work is to apply specific geometric algorithms either on the ent...
متن کاملMeshToSS: Converting Subdivision Surfaces from Dense Meshes
The theoretical aspects are discussed of our developed software, MeshToSS, for the conversion to Loop subdivision surfaces of dense triangular meshes. This software generates subdivision surfaces that approximate to their original mesh. The output is either a control mesh or its subdivided mesh applied to the Loop subdivision scheme. Our simple approach for the conversion is based on a well-kno...
متن کاملEdge-disjoint Spanning Trees in Triangulated Graphs on Surfaces and application to node labeling
In 1974, Kundu [4] has shown that triangulated (or maximal) simple toroidal graphs have three edge-disjoint spanning trees. We extend this result by showing that a triangulated graph on an orientable surface of genus g has at least three edge-disjoint spanning trees and so we can partition the edges of graphs of genus g into three forests plus a set of at most 6g − 3 edges.
متن کاملThe effect of the angle upper edge in shaped noise barriers with a T-shaped upper edge
Background and Objective: Efforts to improve the effectiveness of noise barriers have been made, including shape, aesthetics, form and gender. Therefore, the aim of this study was to investigate the effect of the angle upper edge in shaped noise barriers with a T-shaped upper edge. Materials and Methods: A 2D boundary element method (BEM) was used to predict the insertion loss of the tested ba...
متن کاملInvestigating Impacts of Sustainable Repair Time and Circuit Breaker Model on Meshed Distribution Networks Reliability Assessment
Generally, the failure rate and the repair time of system components are constant parameters in reliability assessment of electric distribution systems. A failure of component is resulted from failing in the operation or overloading. In addition, there exist cases where, the repair times of components are small and tolerable from customer point of view. Thus, tolerable repair times may be overl...
متن کاملCompressing Triangulated Irregular Networks
We address the problem of designing compact data structures for encoding a Triangulated Irregular Network (TIN). In particular, we study the problem of compressing connectivity, i.e., the information describing the topological structure of the TIN, and we propose two new compression methods which have diierent purposes. The goal of the rst method is to minimize the number of bits needed to enco...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2001